home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
IRIX Installation Tools & Overlays 1999 May
/
SGI IRIX Installation Tools & Overlays 1999 May - Disc 2.iso
/
relnotes
/
dmedia_eoe
/
ch09.z
/
ch09
Wrap
Text File
|
1999-04-19
|
10KB
|
331 lines
- 1 -
9. _S_o_f_t_w_a_r_e__M_I_D_I__S_y_n_t_h_e_s_i_z_e_r
The software wavetable MIDI synthesizer, _m_i_d_i_s_y_n_t_h, is a
server daemon which provides MIDI wavetable synthesis
services for applications. The MIDI synthesizer generates
sounds on demand as requested by client programs using a
single audio port, and it is started automatically on demand
when a client MIDI application attempts to connect to it
through a software MIDI port.
The MIDI synthesizer is installed from the optional
subsystem _d_m_e_d_i_a__e_o_e._s_w._s_y_n_t_h. To enable General MIDI
synthesis, it is also necessary to install the subsystem
_d_m_e_d_i_a__e_o_e._d_a_t_a._s_y_n_t_h, which contains a full set of General
MIDI presets for the synthesizer.
These related tools are also included in
_d_m_e_d_i_a__e_o_e._s_w._s_y_n_t_h:
+o Synthesizer Panel (_s_y_n_t_h_p_a_n_e_l(1)), a graphical control
panel for the software Synthesizer. See the
"Synthesizer Panel" chapter in these release notes.
+o MIDI Keyboard (_m_i_d_i_k_e_y_s(1)), a "virtual" MIDI
controller which may be used to control the internal
software synthesizer or an external MIDI device. See
the "MIDI Keyboard Tool" chapter in these release
notes.
+o Synthesizer Editor (_s_y_n_t_h_e_d_i_t_o_r(1)), a graphical
preset/voice editor for the software Synthesizer. See
the "Synthesizer Editor" chapter in these release
notes.
Sound Player (_s_o_u_n_d_p_l_a_y_e_r(1)), installed from the
_d_m_e_d_i_a__e_o_e._s_w._t_o_o_l_s subsystem, can be used to play back
standard MIDI files along with the software synthesizer and
General MIDI sample set.
A collection of sample General MIDI compositions is included
in the optional subsystem _d_m_e_d_i_a__e_o_e._d_a_t_a._m_u_s_i_c. These
compositions are stored as Standard MIDI Files, and are
installed in the directory /usr/share/data/music. Try
loading them into Sound Player and playing them back using
the internal software synthesizer.
- 2 -
9.1 _C_h_a_n_g_e_s__a_n_d__A_d_d_i_t_i_o_n_s
This section lists changes/additions to the MIDI synthesizer
since the IRIX 6.3/6.4 _P_C_I _A_u_d_i_o _O_p_t_i_o_n _s_u_p_p_o_r_t + _g_e_n_e_r_a_l
_a_u_d_i_o _a_n_d _M_I_D_I _s_y_n_t_h_e_s_i_z_e_r _b_u_g-_f_i_x_e_s patch.
+o A chorus effects unit is now available, and both it and
the reverb effects unit are now channel-specific.
Channel levels are controlled via the EFFECTSLEVEL1 and
EFFECTSLEVEL3 MIDI controller messages. The chorus
type and settings may be set via _s_y_n_t_h_p_a_n_e_l.
+o Preset and sample loading are now handled in a separate
thread, so on-the-fly preset loads do not interrupt the
playback of voices.
+o Voice limits may now be set on a preset-by-preset
basis. This eliminated the problem of the percussion
track monopolizing all the synthesizer voices, and made
several other presets, such as the Acoustic Grand
Piano, function more efficiently.
+o Reverb and Chorus are now on by default when running in
General MIDI mode (the default). The default channel
level for both effects is zero, though, so no effects
will be heard unless 1) the MIDI file being played sets
the effect levels (see above) or 2) the user sets a
global reverb level for all channels using the _G_l_o_b_a_l
_R_e_v_e_r_b _L_e_v_e_l slider in the _s_y_n_t_h_p_a_n_e_l Run Time
Parameters window (see the release notes for
Synthesizer Panel).
+o Closely related to the previous item: Reverberation no
longer "cuts out" when CPU usage reaches preset limit;
CPU limiting is handled via voice stealing only.
This section lists earlier changes/additions to the MIDI
synthesizer made between the IRIX 6.3/6.4 release and the
patch described above.
+o Preset bank files, specifically those in SoundFont2-
compatible format, may now be loaded as alternates to
the default General MIDI bank which comes with the
distribution. Banks may be loaded via the _S_y_n_t_h_e_s_i_z_e_r
_P_a_n_e_l. These banks may also be specified and loaded as
directories containing preset files which follow the
midisynth GM filename system (see _s_y_n_t_h_p_r_e_s_e_t(4) for
details).
+o Now responds to GS bank-select messages, allowing the
selection of GS preset variations (if available in the
- 3 -
current bank) and selection of the various GS
percussion banks.
+o Now handles Registered Program Numbers (RPN's) 0, 1,
and 2 along with Data Entry MIDI messages.
+o Now handles combination presets with overlapping key
and/or velocity ranges.
+o Many new preset parameters are available, including
envelope attack and release time modulation and
variable keyboard tuning.
+o Envelope generators may now have their gain modulated
by other envelope generators or by control oscillators.
+o Now reports errors due to missing or unreadable bank
files, preset files, sound files, and unknown
parameters and illegal parameter values. These will be
displayed by Synthesizer Panel, MIDI Keyboard, and/or
Synthesizer Editor if any of these are running.
+o Up to 16 preset file names may be specified on the
command line when starting _m_i_d_i_s_y_n_t_h by hand.
+o Synthesizer performance (measured by number of
simultaneous voices) has been improved by about 40%.
9.2 _B_u_g__F_i_x_e_s
+o Voice stealing now works without clicks, which also
enables mono voice mode.
+o MIDI Channel volume and expression controller
messages are now correctly mapped into the channel
gain, as described in the MIDI spec.
+o LSB (Least Significant Byte) MIDI controllers are
now handled (they were being ignored).
+o A Reset All Controllers MIDI message to a single
channel now resets only that channel, as per the
MIDI spec, and does not alter the volume,
expression, or pan values. The All Notes Off and
All Sound Off messages also now are channel-
specific, as per the MIDI spec.
+o Continuous controllers (e.g., Modulation Wheel)
now are scaled properly. Earlier versions were
- 4 -
producing twice the expected modulation amount.
+o MIDI synthesizer now correctly handles the General
MIDI Mode On/Off message.
+o Program changes now work on MIDI channel 10
(percussion channel) when in non-GM mode.
+o MIDI synthesizer now reports via the system log if
the General MIDI preset file set or sound file set
(installed from _d_m_e_d_i_a__e_o_e._d_a_t_a._s_y_n_t_h are missing
at startup time.
+o Multiple audio oscillators in a voice may now be
enveloped separately. A bug had caused all
oscillators to follow the first oscillator's
envelope.
+o Envelope looping (forward, backward, or forward
and backward) now work properly.
+o Low frequency control oscillator (LFO) frequencies
are now not affected by pitch bend or master tune
unless they are also tracking the keyboard.
+o Reverb unit now tracks the sampling rate setting.
Before this, reverb times were distorted if
sampling rates other than 44100 were used.
+o Many memory leaks fixed.
9.3 _K_n_o_w_n__P_r_o_b_l_e_m_s__a_n_d__W_o_r_k_a_r_o_u_n_d_s
+o MIDI synthesizer has a tendency to use a lot of memory,
often exceeding 15 Mb. Currently there is no way to
recover/reduce this memory without killing and
restarting the synth process. This workaround is the
option currently available via the Synthezier Panel
API.
+o The audio output of the MIDI synthesizer will
occasionally break up when other uninterruptable
processes (such as screen updates) compete for the CPU.
This is best solved by running the synth at times when
other CPU-intensive activities are not being run.
- 5 -